package com.ks.utils.lnglat;

public class Test1 {
	
//	/**
//	 * 火星坐标转变成GPS坐标
//	 * @param lngLat_bd
//	 * @return
//	 */
//	private static LngLat hx_to_gps(LngLat lngLat_bd) {
//		LngLat gps = transform(lngLat_bd.getLongitude(),lngLat_bd.getLatitude());
//       double lontitude = lngLat_bd.getLongitude() * 2 - gps.getLongitude();
//       double latitude = lngLat_bd.getLatitude() * 2 - gps.getLatitude();
//       return new LngLat(lontitude,latitude);
//	}
//	
//	/**
//	 * GPS坐标转变成火星坐标
//	 * @param lngLat_bd
//	 * @return
//	 */
//	private static LngLat gps_to_hx(LngLat lngLat_bd) {
//		
//		if (outOfChina(lngLat_bd.getLatitude(), lngLat_bd.getLongitude())) {
//           return null;
//       }
//       double dLat = transformLat(lngLat_bd.getLongitude() - 105.0, lngLat_bd.getLatitude() - 35.0);
//       double dLon = transformLon(lngLat_bd.getLongitude() - 105.0, lngLat_bd.getLatitude() - 35.0);
//       double radLat = lngLat_bd.getLatitude() / 180.0 * x_pi;
//       double magic = Math.sin(radLat);
//       magic = 1 - ee * magic * magic;
//       double sqrtMagic = Math.sqrt(magic);
//       dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * x_pi);
//       dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * x_pi);
//       double mgLat = lngLat_bd.getLatitude() + dLat;
//       double mgLon = lngLat_bd.getLongitude() + dLon;
//       return new LngLat(mgLon, mgLat);
//	}
//	
//	private static boolean outOfChina(double lat, double lon) {
//       if (lon < 72.004 || lon > 137.8347)
//           return true;
//       if (lat < 0.8293 || lat > 55.8271)
//           return true;
//       return false;
//   }
//	
//	private static LngLat transform(double longitude, double latitude) {
//       if (outOfChina(latitude, longitude)) {
//           return new LngLat(longitude, latitude);
//       }
//       double dLat = transformLat(longitude - 105.0, latitude - 35.0);
//       double dLon = transformLon(longitude - 105.0, latitude - 35.0);
//       double radLat = latitude / 180.0 * x_pi;
//       double magic = Math.sin(radLat);
//       magic = 1 - ee * magic * magic;
//       double sqrtMagic = Math.sqrt(magic);
//       dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * x_pi);
//       dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * x_pi);
//       double mgLat = latitude + dLat;
//       double mgLon = longitude + dLon;
//       return new LngLat(mgLon,mgLat);
//   }
//
//	private static double transformLat(double x, double y) {
//       double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));
//       ret += (20.0 * Math.sin(6.0 * x * x_pi) + 20.0 * Math.sin(2.0 * x * x_pi)) * 2.0 / 3.0;
//       ret += (20.0 * Math.sin(y * x_pi) + 40.0 * Math.sin(y / 3.0 * x_pi)) * 2.0 / 3.0;
//       ret += (160.0 * Math.sin(y / 12.0 * x_pi) + 320 * Math.sin(y * x_pi / 30.0)) * 2.0 / 3.0;
//       return ret;
//   }
//   
//   private static double transformLon(double x, double y) {
//       double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));
//       ret += (20.0 * Math.sin(6.0 * x * x_pi) + 20.0 * Math.sin(2.0 * x * x_pi)) * 2.0 / 3.0;
//       ret += (20.0 * Math.sin(x * x_pi) + 40.0 * Math.sin(x / 3.0 * x_pi)) * 2.0 / 3.0;
//       ret += (150.0 * Math.sin(x / 12.0 * x_pi) + 300.0 * Math.sin(x / 30.0 * x_pi)) * 2.0 / 3.0;
//       return ret;
//   }
//	
//	/**
//	 * 百度坐标转变成GPS坐标
//	 * @param lngLat_bd
//	 * @return
//	 */
//	private static LngLat bd_to_gps(LngLat lngLat_bd) {
//		LngLat hx_lngLat = bd_to_hx(lngLat_bd);
//		LngLat gps_lngLat = hx_to_gps(hx_lngLat);
//		return gps_lngLat;
//	}
	
}
